 var agregarTC = function () {
	var url_tc_form = getProjectName() + '/testcases/new';
	var formPanelTC = generateForm(url_tc_form, dsTC);
	
	formPanelTC.successHandler = function(xml) {
		window.close();
		if(xml.status != 201) {
			alert('CODE: ' + xml.status);
			Ext.MessageBox.alert('Error', 'No se pudo crear el Caso de Prueba');
		} else {
			dsTC.reload();
			Ext.MessageBox.alert('Mensaje', 'El Caso de Prueba ha sido creado');
		}
	};
	var window = new Ext.Window({
        width: 500,
        height:400,
        minWidth: 300,
        minHeight: 250,
        layout: 'fit',
        plain:true,
		modal: true,
        bodyStyle:'padding:5px;',
        buttonAlign:'center',
        items: formPanelTC
    });

    window.show();
 };

	deleteTC = function() {
		var m = gridTC.getSelections();
        if(m.length > 0) {
        	Ext.MessageBox.confirm('Mensaje', 'Esta seguro que desea eliminar el item?' , deleteTC2);	
        } else {
        	Ext.MessageBox.alert('Mensaje', 'Por favor, selecciones al menos un item para eliminar.');
        }
	};
	
	deleteTC2 = function(btn) {
		if(btn == 'yes') {
			var m = gridTC.getSelections();
			alert(m[0].id);
			$.ajax({
				  type: "delete",
				  url: "/testcases/" + m[0].id,
				  success: function(){
								dsTC.remove(m[0]);
								Ext.MessageBox.alert('Exito', 'El Caso de Prueba fue eliminado.');
							},
					complete: function (xml, s) {
					alert(xml.url);
						alert('CODE: ' + xml.status + 'RESPUESTA: ' + s);
					}
				});
		
			
		}
	};
	
	var readerTC = new Ext.data.XmlReader({
               record: 'test',
               id: 'id'
           }, [
               'name',
               'description',
			   'requirement',
			   'input',
			   'output'
           ]);
    // create the Data Store
	var url_tc = getProjectName() + '/testcases';
	var dsTC = new Ext.data.GroupingStore({
				url: url_tc,
				reader: readerTC,
				sortInfo:{field: 'name', direction: "ASC"},
				groupField:'requirement'           
		    });


    var cmTC =new Ext.grid.ColumnModel([
	{header: "Requerimiento", width: 300, dataIndex: 'requirement', editor: new Ext.form.TextField({allowBlank: false})},
			{header: "Nombre", width: 300, dataIndex: 'name', editor: new Ext.form.TextField({allowBlank: false})},
			{header: "Descripcion", width: 180, dataIndex: 'description', editor: new Ext.form.TextField({allowBlank: false})},
			{header: "Entrada", width: 180, dataIndex: 'input', editor: new Ext.form.TextField({allowBlank: false})},
			{header: "Resultado Esperado", width: 180, dataIndex: 'output', editor: new Ext.form.TextField({allowBlank: false})}
	]);
	
    cmTC.defaultSortable = true;

	var viewGroupTC = new Ext.grid.GroupingView({
			forceFit:true,
			groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
		});
	
	var smTC = new Ext.grid.RowSelectionModel({singleSelect:true});
    
    var gridTC = new Ext.grid.EditorGridPanel({
		ds: dsTC,
        cm: cmTC,
		selModel: smTC,
		region: 'center',
        width:300,
        height:450,
        view: viewGroupTC,
		frame:true,
		collapsible: true,
		title: 'Casos de Prueba',
		iconCls: 'icon-grid',
		tbar:[{
			text:'Agregar',
            tooltip:'Agregar Caso de Prueba',
            iconCls:'add',
			handler: agregarTC
		}, 
		{
            text:'Eliminar',
            tooltip:'Eliminar Caso de Prueba seleccionado',
            iconCls:'remove',
			handler: deleteTC
        }		
		]
    });
	
    dsTC.load();
	
	
	gridTC.on('afteredit', function(e) { 
		xmlDocument = '<?xml version="1.0" encoding="UTF-8" ?><test type="case">';
		xmlDocument += '<' + e.field + '>' + e.value + '</' + e.field + '>';
		xmlDocument += '</test>';
		alert(xmlDocument);
		$.ajax({
				  type: "put",
				  url: "/testcases/" + e.record.id,
				  dataType: "xml",
				  data: xmlDocument,
				  complete: function(xml){
								if(xml.status != 200) {
									Ext.MessageBox.alert('Error', 'El Caso de Prueba no pudo ser editado');
								} else {
									Ext.MessageBox.alert('Exito', 'El Caso de Prueba fue editado');
								}
							}
				});
		
		});
/*		
	grid.on('rowclick', function(grid, rowIndex, e){
				m = grid.getSelections();
				formPanel.setTitle('Editar Proyecto');
				formPanel.buttons[0].setText('Editar');
				window.location = '/clientrequirements.html?project=' + m[0].get('name');
				
				var p = new Ext.Panel({
			        title: 'My Panel',
			        collapsible:true,
			        region: 'center',
			        width:100,
			        html: 'Hello World'
			    });
				w = Ext.get('add-project-panel').update('');
				p.render('add-project-panel');
				alert(p.rendered);
				
			});
*/